package com.example.oj.entity.vo;

import com.example.ojcommon.common.JudgeCase;
import com.example.ojcommon.common.JudgeConfig;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * 题目封装类
 */
@Data
public class QuestionVO implements Serializable {

  private Long id;

  /**
   * 比赛Id
   */
  private Long competitionId;

  /**
   * 题目编号
   */
  private String code;

  /**
   * 题目名称
   */
  private String title;

  /**
   * 题目信息
   */
  private String content;

  /**
   * 题目标签
   */
  private List<String> tagsText;

  /**
   * 题目标签Id
   */
  private List<Long> tags;

  /**
   * 难度
   */
  private String difficultyText;

  /**
   * 难度Id
   */
  private Integer difficulty;

  /**
   * 题目提交数
   */
  private Integer submitNum;

  /**
   * 题目通过数
   */
  private Integer acceptedNum;

  /**
   * 题目点赞数
   */
  private Integer thumbNum;

  /**
   * 题目配置，时间限制ms，内存限制mb
   */
  private JudgeConfig judgeConfig;

  /**
   * 测试输入样例、测试输出样例
   */
  private List<JudgeCase> judgeCaseList;

  /**
   *
   */
  private LocalDate createTime;

  /**
   * 题目是否有题解
   */
  private Integer hasAnswer;

  private UserVO user;

  /**
   * 是否公开
   */
  private Integer IsQueried;

  /**
   * 分数
   */
  private Integer score;

  private static final long serialVersionUID = 1L;

}
